package com.halopay.entity;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.halopay.common.utils.validator.group.AddGroup;
import com.halopay.common.utils.validator.group.UpdateGroup;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * 
 * @author zx
 * @email zdkk@foxmail.com
 * @date 2019-01-18 17:13:28
 */
@TableName("user")
public class User implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	@TableId
	private Integer id;
	/**
	 * 用户openid
	 */
	@NotBlank(message="用户openid不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String openid;
	/**
	 * 微信昵称
	 */
	@NotBlank(message="微信昵称不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String nickname;
	/**
	 * 微信性别
	 */
	@NotBlank(message="微信性别不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private Integer sex;
	/**
	 * 微信城市
	 */
	@NotBlank(message="微信城市不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String city;
	/**
	 * 微信省份
	 */
	@NotBlank(message="微信省份不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String province;
	/**
	 * 微信国家
	 */
	@NotBlank(message="微信国家不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String country;
	/**
	 * 微信头像
	 */
	@NotBlank(message="微信头像不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String headimgurl;
	/**
	 * 唯一识别码
	 */
	@NotBlank(message="唯一识别码不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private Integer unionid;
	/**
	 * 微信语言
	 */
	@NotBlank(message="微信语言不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String language;
	/**
	 * sessionkey
	 */
	@NotBlank(message="sessionkey不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String sessionkey;
	/**
	 * 插入时间
	 */
	@NotBlank(message="插入时间不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private Date inserttime;
	/**
	 * 更新时间
	 */
	@NotBlank(message="更新时间不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private Date updatetime;

	/**
	 * 设置：
	 */
	public void setId(Integer id) {
		this.id = id;
	}
	/**
	 * 获取：
	 */
	public Integer getId() {
		return id;
	}
	/**
	 * 设置：用户openid
	 */
	public void setOpenid(String openid) {
		this.openid = openid;
	}
	/**
	 * 获取：用户openid
	 */
	public String getOpenid() {
		return openid;
	}
	/**
	 * 设置：微信昵称
	 */
	public void setNickname(String nickname) {
		this.nickname = nickname;
	}
	/**
	 * 获取：微信昵称
	 */
	public String getNickname() {
		return nickname;
	}
	/**
	 * 设置：微信性别
	 */
	public void setSex(Integer sex) {
		this.sex = sex;
	}
	/**
	 * 获取：微信性别
	 */
	public Integer getSex() {
		return sex;
	}
	/**
	 * 设置：微信城市
	 */
	public void setCity(String city) {
		this.city = city;
	}
	/**
	 * 获取：微信城市
	 */
	public String getCity() {
		return city;
	}
	/**
	 * 设置：微信省份
	 */
	public void setProvince(String province) {
		this.province = province;
	}
	/**
	 * 获取：微信省份
	 */
	public String getProvince() {
		return province;
	}
	/**
	 * 设置：微信国家
	 */
	public void setCountry(String country) {
		this.country = country;
	}
	/**
	 * 获取：微信国家
	 */
	public String getCountry() {
		return country;
	}
	/**
	 * 设置：微信头像
	 */
	public void setHeadimgurl(String headimgurl) {
		this.headimgurl = headimgurl;
	}
	/**
	 * 获取：微信头像
	 */
	public String getHeadimgurl() {
		return headimgurl;
	}
	/**
	 * 设置：唯一识别码
	 */
	public void setUnionid(Integer unionid) {
		this.unionid = unionid;
	}
	/**
	 * 获取：唯一识别码
	 */
	public Integer getUnionid() {
		return unionid;
	}
	/**
	 * 设置：微信语言
	 */
	public void setLanguage(String language) {
		this.language = language;
	}
	/**
	 * 获取：微信语言
	 */
	public String getLanguage() {
		return language;
	}
	/**
	 * 设置：sessionkey
	 */
	public void setSessionkey(String sessionkey) {
		this.sessionkey = sessionkey;
	}
	/**
	 * 获取：sessionkey
	 */
	public String getSessionkey() {
		return sessionkey;
	}
	/**
	 * 设置：插入时间
	 */
	public void setInserttime(Date inserttime) {
		this.inserttime = inserttime;
	}
	/**
	 * 获取：插入时间
	 */
	public Date getInserttime() {
		return inserttime;
	}
	/**
	 * 设置：更新时间
	 */
	public void setUpdatetime(Date updatetime) {
		this.updatetime = updatetime;
	}
	/**
	 * 获取：更新时间
	 */
	public Date getUpdatetime() {
		return updatetime;
	}
}
